package com.rc.saas.tenant.service.hlht;

import com.github.pagehelper.PageInfo;
import com.rc.saas.tenant.base.BaseSearch;
import com.rc.saas.tenant.base.BaseService;
import com.rc.saas.tenant.mapper.hlht.HlhtTenantOpenMapper;
import com.rc.saas.tenant.model.hlht.*;
import com.rc.saas.tenant.model.hlhtsk.HlhtskBizTenant;
import com.rc.saas.tenant.model.hlhtsk.HlhtskGovtTenant;
import com.rc.saas.tenant.model.hlhtsk.HlhtskTenant;
import com.rc.saas.tenant.search.hlht.HlhtTenantOpenSearch;
import com.rc.saas.tenant.vo.hlht.*;

import java.util.List;


public interface HlhtTenantOpenService extends BaseService<Long, HlhtTenantOpen, HlhtTenantOpenExample, HlhtTenantOpenMapper> {
    PageInfo<HlhtTenantOpenVo> listPageHlhtTenantOpen(HlhtTenantOpenSearch hlhtTenantOpenSearch);

    List<HlhtTenantOpenExportVo> listHlhtTenantOpen(HlhtTenantOpenSearch hlhtTenantOpenSearch);

    List<HlhtskGovtTenantOperatorAndTenantOperatorName> listHlhtskGovtTenantOperator(String tenantCode, String hlhtOperatorId);

    HlhtskGovtTenant selectHlhtskGovtTenant(String tenantCode, String hlhtOperatorId);

    HlhtskBizTenant selectHlhtskBizTenant(String tenantCode, String hlhtOperatorId);

    HlhtskTenant selectHlhtskTenant(String tenantCode, String hlhtTenantCode);

    PageInfo<HlhtDiscountResultVo> listPageHlhtDiscount(BaseSearch baseSearch, String tenantCode, Long memberId);

    void updateStatusByExpiredDate();

    List<String> listOperatorIdByTenantCode(String tenantCode);

    List<HlhtTenantVo> listHlhtTenantByTenantCode(String tenantCode);

    List<HlhtTenantVo> listByHlhtTenantCode(String hlhtTenantCode);
}
